www.gusucode.com > ROCBOSS微社区-微信论坛程序 v2.1PHP源码程序 > ROCBOSS微社区-微信论坛程序 v2.1/ROCBOSS_v2.1.0/ROCBOSS_v2.1.0/system/util/Collection.php
<?php # 允许你既可以以使用数组的方式,也能以使用对象的方式来访问数据。 namespace system\util; class Collection implements \ArrayAccess, \Iterator, \Countable { private $data; public function __construct(array $data = array()) { $this->data = $data; } public function __get($key) { return isset($this->data[$key]) ? $this->data[$key] : null; } public function __set($key, $value) { $this->data[$key] = $value; } public function __isset($key) { return isset($this->data[$key]); } public function __unset($key) { unset($this->data[$key]); } public function offsetGet($offset) { return isset($this->data[$offset]) ? $this->data[$offset] : null; } public function offsetSet($offset, $value) { if (is_null($offset)) { $this->data[] = $value; } else { $this->data[$offset] = $value; } } public function offsetExists($offset) { return isset($this->data[$offset]); } public function offsetUnset($offset) { unset($this->data[$offset]); } public function rewind() { reset($this->data); } public function current() { return current($this->data); } public function key() { return key($this->data); } public function next() { return next($this->data); } public function valid() { $key = key($this->data); return ($key !== NULL && $key !== FALSE); } public function count() { return sizeof($this->data); } public function keys() { return array_keys($this->data); } public function getData() { return $this->data; } public function setData(array $data) { $this->data = $data; } public function clear() { $this->data = array(); } } ?>